Digital communication interfaces have become widespread with modern technology's emphasis on rapid transfer and communication of digital data for an ever-increasing amount of important functions, including data storage, output transmission, and device control. These interfaces include standard communication specifications such as Universal Serial Bus (USB), Serial Advanced Technology Attachment (SATA), Firewire, etc. These interfaces are used in a number of applications for computers and other electronic devices.
USB, for example, is a commonly-used interface standard that allows data communication between a host and one or more peripheral devices. The host controller communicates with the peripheral devices using one or more USB ports of the host connected to the peripherals. Additional peripheral devices can be connected in series to the host by using USB hub devices, where each hub typically has multiple downstream ports to connect multiple devices. Communication in a USB interface can use a variety of formats and speeds. In general, “low speed” has a data transfer rate of 1.5 Mbit/s, “full speed” has a data transfer rate of 12 Mbit/s, “high speed” has a data transfer rate of 480 Mbit/s, and “superspeed” has a data transfer rate of 5 Gbit/s.
The USB specification mandates a strict control over the maximum delay each component of the USB system can take to respond to an incoming packet (for a host, hub, or peripheral) or to propagate the incoming packet (for a hub only). In particular, there is a critical timing parameter named Bus Turn-around Time, which is essentially the time delay measured from the end of a packet leaving the host (or other transmitter) to the beginning of the packet generated by a device as an answer to the host packet. This time is the worst case round trip delay plus the maximum device response delay. A maximum Bus Turn-around Time is specified for USB connections. If the answer packet is not received by that maximum Bus Turn-around Time, the host times out, considers the packet transmission to have failed, and discards the packet as being late.
The host changes the Bus Turn-around Time based on the number of hubs enumerated in a connected series between the host and a connected device, assuming for each of the hubs a maximum cable length of 5 meters (26 ns of delay time for a signal) between hub and upstream component, and a maximum inherent delay through the hub of 36 USB high-speed (HS) bit time (18 ns of delay time). The specification allows for a maximum of 5 hubs connected in series (in a row), corresponding to a maximum distance of 30 meters from the host to the peripheral(s) that is connected to the last hub in the row.
A problem may occur in cases in which the maximum delay time over a segment of USB cable is higher than 26 ns. For example, this may occur when using longer cables or cable extensions in the need to connect a peripheral device at a distance greater than the maximum distance of the specification. In such cases, longer cables typically will not operate correctly at least because they exceed the maximum delay time. This additional delay can be compensated for by connecting one or more additional hubs in series between host and destination device, as long as the maximum number of hubs is not exceeded. Each additional hub causes the host to allocate a greater amount to the response delay budget. However, adding a hub is an expensive solution, since each hub includes several hardware components including multiple downstream ports, transaction translators, re-route logic, and re-timing circuitry. Each added hub may thus be highly redundant if the only reason for adding the hub is to make use of its delay budget and resulting distance extension ability.
These and other limitations of the prior art will become apparent to those of skill in the art upon a reading of the following descriptions and a study of the several figures of the drawing.